package User;


import Book.bookList;
import Operations.*;

import java.util.Scanner;

public class NormalUser extends user {
    public int menu(){
        System.out.println("hello "+"欢迎"+this.ID+": "+this.name+" 欢迎来到图书小练习");
        System.out.println("1.查找图书");
        System.out.println("2.借阅图书");
        System.out.println("3.归还图书");
        System.out.println("0.退出系统");
        System.out.println("请输入你的操作：");
        Scanner scanner=new Scanner(System.in);
        int choice=scanner.nextInt();
        return choice;
    }

    public NormalUser(String name,String ID) {
        this.ID=ID;
        this.name=name;
        //初始化从父类user中继承的operation数组
        //这一步起到了十分关键的作用，提供了不同用户身份的不同操作方法
        this.operations=new Ioperations[]{
                new ExitOperation(),
                new FindOperation(),
                new BorrowOperation(),
                new ReturnOperation()

        };
    }

    /**
     * 通过菜单中返回的选项，调用相对应下标的接口数组对象的work方法
     * @param choice 用户从菜单中选择的选项
     * @param bookList 要操作的书架对象
     */
    public void doWork(int choice, bookList bookList){
        this.operations[choice].work(bookList);
    }
}
